package main

import "fmt"

type DataWriter interface {
	WriteData(data interface{}) error
	// 能否写入
	CanWrite() bool
}

type File struct {}

func (d *File) WriteData(data interface{}) error {
	fmt.Println("WriteData:", data)
	return nil
}

func main() {
	// 实例化file
	f := new(File)
	// 声明一个DataWriter的接口
	var writer DataWriter
	// 将接口赋值f，也就是*file类型
	writer = f
	// 使用DataWriter接口进行数据写入
	writer.WriteData("data")
}